Simon (cipher)
   HOME

TheInfoList



OR:

Simon is a family of lightweight block ciphers publicly released by the
National Security Agency The National Security Agency (NSA) is a national-level intelligence agency of the United States Department of Defense, under the authority of the Director of National Intelligence (DNI). The NSA is responsible for global monitoring, collecti ...
(NSA) in June 2013. Simon has been optimized for performance in hardware implementations, while its sister algorithm,
Speck Speck can refer to a number of European cured pork products, typically salted and air-cured and often lightly smoked but not cooked. In Germany, speck is pickled pork fat with or without some meat in it. Throughout much of the rest of Europe a ...
, has been optimized for software implementations. The NSA began working on the Simon and Speck ciphers in 2011. The agency anticipated some agencies in the US federal government would need a cipher that would operate well on a diverse collection of
Internet of Things The Internet of things (IoT) describes physical objects (or groups of such objects) with sensors, processing ability, software and other technologies that connect and exchange data with other devices and systems over the Internet or other comm ...
devices while maintaining an acceptable level of security.


Description of the cipher

The Simon block cipher is a balanced
Feistel cipher In cryptography, a Feistel cipher (also known as Luby–Rackoff block cipher) is a symmetric structure used in the construction of block ciphers, named after the German-born physicist and cryptographer Horst Feistel, who did pioneering research ...
with an ''n''-bit word, and therefore the block length is 2''n''. The key length is a multiple of ''n'' by 2, 3, or 4, which is the value ''m''. Therefore, a Simon cipher implementation is denoted as Simon2''n''/''nm''. For example, Simon64/128 refers to the cipher operating on a 64-bit plaintext block (''n'' = 32) that uses a 128-bit key. The block component of the cipher is uniform between the Simon implementations; however, the key generation logic is dependent on the implementation of 2, 3 or 4 keys. Simon supports the following combinations of block sizes, key sizes and number of rounds:


Description of the key schedule

Let S^ notate a left
circular shift In combinatorial mathematics, a circular shift is the operation of rearranging the entries in a tuple, either by moving the final entry to the first position, while shifting all other entries to the next position, or by performing the inverse oper ...
by j bits. The key schedule is mathematically described as k_ = \left\{ \begin{array}{ll} c\oplus\left(z_j\right)_i\oplus k_i \oplus\left(I\oplus S^{-1}\right)\left(S^{-3}k_{i+1}\right),&m=2\\ c\oplus\left(z_j\right)_i\oplus k_i \oplus\left(I\oplus S^{-1}\right)\left(S^{-3}k_{i+2}\right),&m=3\\ c\oplus\left(z_j\right)_i\oplus k_i \oplus\left(I\oplus S^{-1}\right)\left(S^{-3}k_{i+3}\oplus k_{i+1}\right),&m=4\\ \end{array}\right. The key schedule structure may or may not be balanced. The key word count of m is used to determine the structure of the key expansion, resulting in a total bit width of m*n. The key word expansion consists of a right shift, XOR and a constant sequence, z_x. The z_x bit operates on the lowest bit of the key word once per round.


Description of the constant sequence

The constant sequence, z_x , is created by a Linear Feedback Shift Register (
LFSR In computing, a linear-feedback shift register (LFSR) is a shift register whose input bit is a linear function of its previous state. The most commonly used linear function of single bits is exclusive-or (XOR). Thus, an LFSR is most often a sh ...
). The logical sequence of bit constants is set by the value of the key and block sizes. The LFSR is created by a 5-bit field. The constant bit operates on a key block once per round on the lowest bit in order to add non-key-dependent entropy to the key schedule. The LFSR has different logic for each z_x sequence; however, the initial condition is the same for encryption. The initial condition of the LFSR for decryption varies on the round. {, class="wikitable sortable" , - ! Constant Sequence , - , z_0 = 11111010001001010110000111001101111101000100101011000011100110 , - , z_1 = 10001110111110010011000010110101000111011111001001100001011010 , - , z_2 = 10101111011100000011010010011000101000010001111110010110110011 , - , z_3 = 11011011101011000110010111100000010010001010011100110100001111 , - , z_4 = 11010001111001101011011000100000010111000011001010010011101111


Cryptanalysis

The designers claim that Simon, though a "lightweight" cipher, is designed to have the full security possible for each block and key size, against standard chosen-plaintext (CPA) and chosen-ciphertext (CCA) attacks. Resistance against
related-key attack In cryptography, a related-key attack is any form of cryptanalysis where the attacker can observe the operation of a cipher under several different keys whose values are initially unknown, but where some mathematical relationship connecting the ke ...
s was also stated as a goal, though a less crucial one as attacks in that model are not relevant for typical use cases. No effort was made to resist attacks in the
known-key distinguishing attack In cryptography, a known-key distinguishing attack is an attack model against symmetric ciphers, whereby an attacker who knows the key can find a structural property in cipher, where the transformation from plaintext to ciphertext is not random. ...
model, nor did the designers evaluate Simon for use as a
hash function A hash function is any function that can be used to map data of arbitrary size to fixed-size values. The values returned by a hash function are called ''hash values'', ''hash codes'', ''digests'', or simply ''hashes''. The values are usually ...
. As of 2018, no successful attack on full-round Simon of any variant is known. Due to interest in Simon and Speck, about 70 cryptanalysis papers have been published on them. As is typical for iterated ciphers, reduced-round variants have been successfully attacked. The best published attacks on Simon in the standard attack model (CPA/CCA with unknown key) are differential cryptanalysis attacks; these make it through about 70–75% of the rounds of most variants, though these best attacks are only marginally faster than brute-force. The design team states that while designing Simon, they found differential attacks to be the limiting attacks, i.e. the type of attack that makes it through the most rounds; they then set the number of rounds to leave a security margin similar to
AES-128 The Advanced Encryption Standard (AES), also known by its original name Rijndael (), is a specification for the encryption of electronic data established by the U.S. National Institute of Standards and Technology (NIST) in 2001. AES is a variant ...
's at approximately 30%. {, class="wikitable" , + Best known attacks on Simon (in standard attack model) , - ! Variant ! Rounds attacked ! Time complexity ! Data complexity ! Attack type , - , Simon128/256 , 53/72 (74%) , 2248 , 2127.6 , Linear Hull , - , Simon128/192 , 51/69 (74%) , 2184 , 2127.6 , Linear Hull , - , Simon128/128 , 49/68 (72%) , 2120 , 2127.6 , Linear Hull , - , Simon96/144 , 38/54 (70%) , 2136 , 295.2 , Linear Hull , - , Simon96/96 , 37/52 (71%) , 288 , 295.2 , Linear Hull , - , Simon64/128 , 31/44 (70%) , 2120 , 263.5 , Linear Hull , - , Simon64/96 , 30/42 (71%) , 288 , 263.5 , Linear Hull , - , Simon48/96 , 25/36 (69%) , 280 , 247.9 , Linear Hull , - , Simon48/72 , 24/36 (67%) , 256 , 247.9 , Linear Hull , - , Simon32/64 , 24/32 (75%) , 263 , 232 , Integral Simon has been criticized for having too small a security margin, i.e. too few rounds between the best attacks and the full cipher, in comparison to more conservative ciphers such as
ChaCha20 Salsa20 and the closely related ChaCha are stream ciphers developed by Daniel J. Bernstein. Salsa20, the original cipher, was designed in 2005, then later submitted to the eSTREAM European Union cryptographic validation process by Bernstein. Ch ...
. Ciphers with small security margins are more likely to be broken by future advances in cryptanalysis. Simon's design team counters that there is a real-world cost to unnecessarily large security margins, especially on lightweight devices, that cryptanalysis during the design phase allowed the number of rounds to be set appropriately, and that they targeted AES's security margin. Simon includes a round counter in the key schedule. The designers state this was included to block
slide Slide or Slides may refer to: Places * Slide, California, former name of Fortuna, California Arts, entertainment, and media Music Albums * ''Slide'' (Lisa Germano album), 1998 * ''Slide'' (George Clanton album), 2018 *''Slide'', by Patrick Glees ...
and
rotational cryptanalysis In cryptography, rotational cryptanalysis is a generic cryptanalytic attack against algorithms that rely on three operations: modular addition, rotation and XOR — ARX for short. Algorithms relying on these operations are popular because th ...
attacks. Still, rotational-XOR cryptanalysis has been used to find distinguishers against reduced-round versions of related ciphers like Speck. Though the authors don't describe standard key-recovery attacks based on their distinguishers, their best distinguishers on Simon32 and Simon48 in the known-key distinguishing attack model for certain
weak key In cryptography, a weak key is a key, which, used with a specific cipher, makes the cipher behave in some undesirable way. Weak keys usually represent a very small fraction of the overall keyspace, which usually means that, if one generates a rando ...
classes make it through slightly more rounds than the best differential distinguishers. One of the authors has said that his research was resource-constrained and that rotational-XOR distinguishers on more rounds are probably possible. The designers also state that Simon was not designed to resist known-key distinguishing attacks (which do not directly compromise the confidentiality of ciphers). The designers state that NSA cryptanalysis found the algorithms to have no weaknesses, and security commensurate with their key lengths. The design team says that their cryptanalysis included linear and differential cryptanalysis using standard techniques such as Matsui's algorithm and SAT/SMT solvers, though a full list of techniques used is not given. Simon's designers have been criticized for not providing more details on NSA cryptanalysis of the ciphers. The NSA has approved Simon128/256 and Speck128/256 for use in U.S. National Security Systems, though AES-256 is still recommended for non-constrained applications.


Standardization efforts and controversies

Initial attempts to standardise Simon and Speck failed to meet
International Organization for Standardization The International Organization for Standardization (ISO ) is an international standard development organization composed of representatives from the national standards organizations of member countries. Membership requirements are given in Ar ...
super-majority required by the process and the ciphers were not adopted. Expert delegates to the ISO from several countries including Germany, Japan and Israel opposed the efforts by the NSA to standardise the Simon and
Speck Speck can refer to a number of European cured pork products, typically salted and air-cured and often lightly smoked but not cooked. In Germany, speck is pickled pork fat with or without some meat in it. Throughout much of the rest of Europe a ...
ciphers, citing concerns that the NSA is pushing for their standardisation with knowledge of exploitable weaknesses in the ciphers. The position was based on partial evidence of weaknesses in the ciphers, lack of clear need for standardisation of the new ciphers, and the NSA's previous involvement in the creation and promotion of the backdoored
Dual_EC_DRBG Dual_EC_DRBG (Dual Elliptic Curve Deterministic Random Bit Generator) is an algorithm that was presented as a cryptographically secure pseudorandom number generator (CSPRNG) using methods in elliptic curve cryptography. Despite wide public crit ...
cryptographic algorithm. In response to concerns, the NSA stated that more than 70 security analysis papers from some of the world's leading cryptographers support NSA's conclusion that the algorithms are secure and NSA affirmed that it is not aware of any cryptanalytic techniques that would allow them or anyone else to exploit Simon or Speck. After initial attempts to standardise the ciphers failed, the ISO standardised Simon and Speck in other working groups. As of October 2018, the Simon and Speck ciphers have been standardized by ISO as a part of the RFID air interface standard, International Standard ISO/29167-21 (for Simon) and International Standard ISO/29167-22 (for Speck), making them available for use by commercial entities.


See also

* Balanced boolean function *
Bent function In the mathematical field of combinatorics, a bent function is a special type of Boolean function which is maximally non-linear; it is as different as possible from the set of all linear and affine functions when measured by Hamming distance bet ...


References

{{cryptography navbox , block Block ciphers Feistel ciphers National Security Agency cryptography